package dht;

import java.util.Vector;

import dht.entity.NodeInfo;

public interface IMetaServerRouteTable extends IDataServerRouteTable {

	public IClientRouteTable getClientRouteTable();

	public IDataServerRouteTable getDataServerRouteTable();

	public void load(String fileName);

	public void save(String fileName);

	public void join(NodeInfo nodeInfo);

	public void leave(NodeInfo nodeInfo);

	public boolean startLoadBalancing(NodeInfo moveFromServerInfo,
			NodeInfo moveToServerInfo, Vector<Integer> movementVnodeIds);

	public void endLoadBalancing(NodeInfo moveFromServerInfo,
			NodeInfo moveToServerInfo);

	public void tableUpdate(String moveFromServerId, String moveToServerId,
			Vector<Integer> movementVnodeIds);

}
